3
תגובות
עזרה ב url
פתח
Ben
,
בurl, אם הגולש משנה את הקישור ומשחק איתו וכותב תווים ודברים כאלה, זה מעביר אותו לדף שגיאה 404.
הכל עובד כמו שצריך ומעביר לדף שגיאה 404 פרט לסימן אחוז וכוכבית (*,%). רק שיש % או * בכתובת, ולא משנה איפה הוא נמצא בכתובת, זה מעביר לדף שגיאה 400. איך אוכל לשנות את זה לדף שגיאה 404 ?
אלה השורות בhtaccess:
הurl בנוי בצורה כזו:
site.com/X
site.com/X/Y
כאשר ה X תמיד יהיה אותיות באנגלית (ללא מספרים, רק אותיות) והY תמיד יהיה מספרים.
כל תו שאני מכניס בURL פשוט מעביר אותי לדף 404, פרט ל % או * שמעבירים לדף 400.
איך אוכל לעשות שכל מה שלא תואם למה שכתבתי, יעבור אוטומטית לדף 404 ?.
* אשמח אם תסבירו לי שגיאות (במידה ויש) בכתיבה \ דברים מיותרים וכדומה :).
הכל עובד כמו שצריך ומעביר לדף שגיאה 404 פרט לסימן אחוז וכוכבית (*,%). רק שיש % או * בכתובת, ולא משנה איפה הוא נמצא בכתובת, זה מעביר לדף שגיאה 400. איך אוכל לשנות את זה לדף שגיאה 404 ?
אלה השורות בhtaccess:
RewriteRule ^([a-zA-Z]+)$ index.php?page=$1 [L,QSA]
RewriteRule ^([a-zA-Z]+)\/(\d+)$ index.php?page=$1&action=$2 [L,QSA]
RewriteRule ^([a-zA-Z]+)\/(\d+)$ index.php?page=$1&action=$2 [L,QSA]
הurl בנוי בצורה כזו:
site.com/X
site.com/X/Y
כאשר ה X תמיד יהיה אותיות באנגלית (ללא מספרים, רק אותיות) והY תמיד יהיה מספרים.
כל תו שאני מכניס בURL פשוט מעביר אותי לדף 404, פרט ל % או * שמעבירים לדף 400.
איך אוכל לעשות שכל מה שלא תואם למה שכתבתי, יעבור אוטומטית לדף 404 ?.
* אשמח אם תסבירו לי שגיאות (במידה ויש) בכתיבה \ דברים מיותרים וכדומה :).
3 תשובות
שגיאה 400 היא שגיאת bad request שאומרת שהשרת לא יודע להתמודד עם הבקשה.
זה קורה לא רק באתר שלך, אלה בכל אתר כולל phpguide:
http://phpguide.co.il/*%/
תוסיף לקובץ htaccess שלך תפיסה של שגיאות 400 ותעביר אותם לאותו עמוד שאתה מעביר אליו בדרך כלל כשיש 404
בצורה הבאה:
ErrorDocument 400 errorpage.php
ErrorDocument 404 errorpage.php
ErrorDocument 404 errorpage.php
זה לא מגיב... הוספתי ErrorDocument 400 שמפנה לעמוד 404.html וזה פשוט לא מגיב זה עדיין מראה דף רגיל לבן ומכוער לעומת ה 404 שמעביר אותי לדף 404.html
הקוד זהה לקוד שלך.
יכול להיות שזה באג ב apache ואתה צריך לעדכן גרסה.